1. Field of the Invention
This invention is related to the installation of peripheral software, such as drivers and control programs, on networked computers and workstations. More particularly, this invention is related to the remote installation of such software. That is, the installation of such software on a specific machine on a network under the control of a different machine on the same network. This type of installation facilitates the management of peripherals and their software throughout a network by system administrators or similar personnel.
2. Description of the Problem Solved
The proliferation of personal computers and desktop workstations during the later part of the 20th Century has had a dramatic impact on the workplace. Many businesses rely heavily on large numbers of personal computer systems that are used on a day-to-day basis by their employees. In most businesses with many systems, a network interconnects all the systems. This network may be a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or any other type of network capable of interconnecting personal computers. The increased use of networks to interconnect computing systems allows data to be shared readily and therefore has increased efficiencies in doing business. However, the increased use of networks has caused a new set of problems in the administration of those networks.
Managing all of the software and hardware connected to a large network can be a daunting task. Usually this task falls to systems administrators or similar personnel. A key responsibility of managing such a network is the managing of all of the interconnected peripheral devices that are used on the network. This managing of the peripheral devices includes installing and updating driver software and other control software required by the peripheral devices. Numerous ideas have been proposed to make this job easier. For example, U.S. Pat. No. 5,580,177, issued Dec. 3, 1996, to Gase, et al., entitled xe2x80x9cPrinter/Client Network with Centrally Updated Printer Drivers and Printer Status Monitoringxe2x80x9d proposes a special procedure installed on client workstations, which enables the client processor to interface with at least one printer type. If the client processor needs to print via printer which does not work with the stored driver the driver can be updated, from a server, with a utility, under the control of a client user. This patent is incorporated herein by reference.
Several software products on the market allow a system administrator to remotely access a networked computer, controlling the networked computer through keyboard and mouse commands as if the system administrator was actually sitting at the remote networked computer. An example of such a product is Timbuktu(trademark), published by Netopia, Inc. Using such software, it is possible for an administrator to execute a software installation program and install peripheral software as if he or she was doing it on a local machine.
There are a number of problems with the above approaches. First, they require special software to be running in the client computer system, solely for the purpose of remote access or installation of peripheral software. If a remote computer system is running an operating system that requires user login, a user must be logged into the system before peripheral software can be updated. Finally, the installation of peripheral software such as drivers often disrupts processing on the system so that the system must be rebooted afterwards, meaning that a system administrator or user must be physically present at the remote machine to restart it after installation. What is needed is an improved method of remotely installing peripheral software such as drivers and utilities on a system over a network. Ideally, such a method should not require any special remote access applications to be running or even present on the remote system. The method should also allow the installation of peripheral software without rebooting or otherwise disrupting the remote system""s operation, and should not require that a user be logged into the remote system.
The present invention meets the above needs by providing software that allows administrators to push drivers and network utilities down to other systems. No special remote access software needs to be running on the remote system, which is the subject of an install. Furthermore, a user need not be logged in to the remote system to allow remote access. The invention, rather, makes use of administrator login capabilities currently available on Windows NT(trademark). Such capabilities are also expected to be available on Windows(trademark) 2000. Other operating systems also have similar capabilities. Additionally, the invention provides a way to stop and start related services on the remote system so that a reboot is not required.
The invention provides the above capabilities through software which runs on a system administrator""s workstation connected to a network. The software remotely installs peripheral software on a remote system, which is connected to the same network. In executing the method of the invention, system information for the remote system is first resolved by interacting with the remote system over the network. Such system information most often includes locations of files and directories that are related to the peripheral software. This information can be obtained from the registry of the remote system. The system information also often includes peripheral objects and ports which are currently in use, or available on the remote system. According to the invention, a determination is then made as to which software and options have been selected for installation on the remote system. Related services on the remote system are stopped. The appropriate peripheral software is then copied to the remote system over the network and related services are restarted. System information for the remote system is then updated. The above method can be used with any type of peripheral software including printer drivers, network utilities, and all other types of drivers and utilities. If the peripheral software is or includes a printer driver, the related services usually include the running of a print spooler.
The invention is implemented by a software system that includes an installation graphical user interface (GUI). An install engine is connected to the installation GUI, and receives a list of software from the installation GUI. The install engine also controls the operation of the network administrator""s system. A driver installation subsystem is connected to the install engine for creating and customizing the peripheral software according to the list of software. A file copy subsystem for receiving a file copy list and displaying copy progress is connected to the install engine. An enumeration subsystem is connected to the installation GUI. Finally, a remote system information subsystem for retrieving system information from the remote system is connected to the system information subsystem and the file copy subsystem. If the software of the present invention is implemented for installing printer drivers, a subsystem for starting and stopping a print spooler is also included.
The software, which implements many aspects of the present invention, can be stored on a media. The media can be magnetic such as diskette, tape, or fixed disc, or optical, such as a CD-ROM. Additionally, the software can be supplied via the Internet or some other type of network. A workstation that typically runs the software includes a plurality of input/output evices, a connection for the network, and a system unit that includes both hardware and software necessary to implement the invention. The workstation that implements the present invention, as well as the remote computer system on which peripheral software is installed, both operate in a network, such as a LAN, which includes multiple computer systems and peripheral devices.